<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 写出下列代码打印结果，并说明原因 -->
</body>
<script>
    // 1 + 'true' // 1true
    // 字符串和谁相加都会变成字符串类型的
    // 1 + true // 2
    // true影视转换为1
    // 1 + undefined // NaN
    // undefined转换为数值NaN,Nan+任何数值都是NaN
    // 1 + null // 1
    // null转换为数值0
    // '2' > 10 // false
    // 字符串类型和数值类型比较
    // 'abc' > 2 // false
    // 字符串类型的优先级大于数值类型
    // 'abc' > 'aad' // true
    // 字符的ascii编码的大小关系
    // NaN == NaN // false
    // NaN不等于自身，NaN不等于任何数值
    // undefined == null // true
    // 属于同一类型变量
    // [] == 0 // true
    // 空数组和零是等价的
    // ![] == 0 // true
    // 空数组转换成数值类型是0，然后取反加0就是false，转换的数值类型的true值，然后取反加0就是false
    // [] == ![] // true
    // 空数组转换成数值类型是0，然后取反加0就是false,对于空数组 []，其布尔值为 false
    // [] == [] // false
    // 空数组和空数组不相同,因为这两个空数组在内存中是不同的实体。
    // {} == ![] // false
    //对于空数组 []，其布尔值为 false，但是 ![] 会转换为 true。而 {} 是一个空对象，其布尔值也是 false
    // {} == {} // false
    // 空对象和空对象不相同,因为这两个空对象在内存中是不同的实体。
</script>

</html>